﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LevenBlog.Core.Data
{
    public interface IFactory
    {
        IDbHelper DbHelper { get; }

        IArchive Archive { get; }

        IBlog Blog { get; }

        ICategory Category {get;}

        IComment Comment { get; }

        IConfig Config { get; }

        IFile File { get; }

        IImage Image { get; }

        IImageType ImageType { get; }

        ILog Log { get; }

        IState State { get; }

        ITag Tag { get; }

        ITrack Track { get; }

        IUser User { get; }

        IUserInfo UserInfo { get; }

        IUserType UserType { get; }

        IVisiter Visiter { get; }

        IFriendLink FriendLink { get; }

        IDbProvider CreateDbProvider();
    }
}
